---
title: "Cloud Docker Installation"
description: "Cloud Docker Installation guide for AnythingLLM"
---

import { Callout } from "nextra/components";
import Image from "next/image";

<Image
  src="/images/getting-started/installation/cloud-docker/header-image.png"
  height={1080}
  width={1920}
  quality={100}
  alt="AnythingLLM Installation Cloud Docker"
/>

# Run AnythingLLM on Cloud using Docker

Running AnythingLLM on a cloud service is the best way to run a private multi-user instance of AnythingLLM with full control.

<Callout type="info" emoji="💡">
  **Easy Cloud Deployment**

    AnythingLLM offers easily integrated one-click docker deployment templates with [Railway](https://railway.app/template/HNSCS1?referralCode=WFgJkn) and [Render](https://render.com/deploy?repo=https://github.com/Mintplex-Labs/anything-llm&branch=render).

    _This is the easiest way to self-host a cloud server version of AnythingLLM_

</Callout>

| Provider              | Minimum Instance size |
| --------------------- | --------------------- |
| Amazon Web Services   | t3.small              |
| Google Cloud Provider | e2-standard-2         |
| Azure Cloud           | B2ps v2               |

<Callout type="info" emoji="💡">
  AnythingLLM offers community-maintained deployment templates for cloud
  providers
  https://github.com/Mintplex-Labs/anything-llm/tree/master/cloud-deployments
</Callout>

Once you are prepared to run AnythingLLM on your server the process is quite simple.

You should provision a folder somewhere on the host machine so that you can re-pull the latest versions of AnythingLLM and persist data between container rebuilds.

<Callout type="warning" emoji="⚠️">
  **BACKWARDS COMPATIBILITY**

    The Mintplex Labs team takes great care to ensure AnythingLLM is always backward compatible.

    In the event this changes you will be alerted via code, deployment, or our regular communication channels on social, Discord, and email.

</Callout>

<Callout type="info" emoji="️💡">
  **Note** `--cap-add SYS_ADMIN` is a **required** command if you want to scrape
  webpages. We use [PuppeeteerJS](https://github.com/puppeteer/puppeteer) to
  scrape websites links and `--cap-add SYS_ADMIN` lets us use sandboxed Chromium
  across all runtimes for best security practices.
</Callout>

```shell copy showLineNumbers
 # Assuming that you want to store app data in a folder at /var/lib/anythingllm

 # Pull in the latest image
 docker pull mintplexlabs/anythingllm:master

 export STORAGE_LOCATION="/var/lib/anythingllm" && \
 mkdir -p $STORAGE_LOCATION && \
 touch "$STORAGE_LOCATION/.env" && \
 docker run -d -p 3001:3001 \ # expose on port 3001 (can be any host port)
 --cap-add SYS_ADMIN \
 -v ${STORAGE_LOCATION}:/app/server/storage \
 -v ${STORAGE_LOCATION}/.env:/app/server/.env \
 -e STORAGE_DIR="/app/server/storage" \
 mintplexlabs/anythingllm:master

 # visit http://localhost:3001 to use AnythingLLM!
```

Done! You are using AnythingLLM!
